package com.geek.log4jcontrol.commons;

import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;

import com.geek.util.RegularExpressionUtil;

/**
 * @package com.geek.log4jcontrol.constants
 * @description 配置常量容器
 * @author Goliath
 * @createTime 2012-7-31 下午04:16:29
 * @modifyTime
 */
public class ConfigConstants {

	/**
	 * @description 日志格式化
	 */
	public static SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	/**
	 * @description log4j的配置文件位置
	 */
	public static String LOG4J_CONFIG_PATH = "log4j.properties";
	/**
	 * @description log4j的配置文件编码
	 */
	public static String LOG4J_CODE = "UTF-8";
	/**
	 * @description log4j日志的根目录
	 */
	public static String LOG_ROOT = "/";
	/**
	 * @description 历史配置文件的存放位置
	 */
	public static String CONFIGHIS_PATH = "";
	/**
	 * @description IP白名单
	 */
	public static Map<String, String> IP_WHITELIST = new HashMap<String, String>();
	/**
	 * @description 是否校验IP
	 */
	public static int IP_CHECK = FinalConstants.YES;
	/**
	 * @description 读取配置的默认操作码
	 */
	public static String PWD_READ = FinalConstants.PASSWORD_DEFAULT;
	/**
	 * @description 设定操作的默认操作码
	 */
	public static String PWD_OPERATE = FinalConstants.PASSWORD_DEFAULT;
	/**
	 * @description 获取日志的默认操作码
	 */
	public static String PWD_LOG = FinalConstants.PASSWORD_DEFAULT;
	/**
	 * @description 是否校验操作码
	 */
	public static int PWD_CHECK = FinalConstants.YES;
	/**
	 * @description RMI服务的IP
	 */
	public static String SERVER_IP = "127.0.0.1";
	/**
	 * @description RMI服务的端口
	 */
	public static int SERVER_PORT = 8888;
	/**
	 * @description RMI服务名
	 */
	public static String SERVER_RMINAME = "Log4jControl";

	/***************************************************************************/
	// 非简单对象的初始化操作
	/**
	 * @package com.geek.log4jcontrol.commons
	 * @description 初始化IP白名单
	 * @param configValue
	 * @returnType void
	 * @author Goliath
	 * @createTime 2012-8-1 上午10:12:32
	 * @modifyTime
	 */
	public static void initIP_WHITELIST(String configValue) {
		IP_WHITELIST.clear();
		if (!"".equals(configValue)) {
			String[] ipArr = configValue.split(",");
			for (String ip : ipArr) {
				ip = ip.trim();
				if (RegularExpressionUtil.expressionIp(ip)) {
					IP_WHITELIST.put(ip, ip);
				}
			}
		}
		System.out.println("IP_WHITELIST inited");
	}
}
